CC=gcc
CXX=g++


all: allc allcpp

allc: c_strcpy.exe c_strncpy.exe c_strcat.exe c_strncat.exe \
      c_strcmp.exe c_strncmp.exe c_strchr.exe c_strchr_while.exe c_strrchr.exe \
      c_strspn.exe c_strcspn.exe c_strpbrk.exe c_strstr.exe c_strerror.exe \
      c_strtok.exe \
      c_memset.exe c_memcmp.exe c_memchr.exe c_memcpy.exe

allcpp: cpp_strcpy.exe cpp_strncpy.exe cpp_strcat.exe cpp_strncat.exe \
        cpp_strcmp.exe cpp_strncmp.exe cpp_strchr.exe cpp_strchr_while.exe cpp_strrchr.exe \
        cpp_strspn.exe cpp_strcspn.exe cpp_strpbrk.exe cpp_strstr.exe cpp_strerror.exe \
        cpp_strtok.exe \
        cpp_memset.exe cpp_memcmp.exe cpp_memchr.exe cpp_memcpy.exe

c_strcpy.exe: c_strdruk.o c_strcpy.o
	$(CC) $^ -o $@
	
cpp_strcpy.exe: cpp_strdruk.o cpp_strcpy.o
	$(CXX) $^ -o $@

c_strncpy.exe:  c_strdruk.o c_strncpy.o
	$(CC) $^ -o $@
	
cpp_strncpy.exe: cpp_strdruk.o cpp_strncpy.o
	$(CXX) $^ -o $@

c_strcat.exe: c_strdruk.o c_strcat.o
	$(CC) $^ -o $@
	
cpp_strcat.exe: cpp_strdruk.o cpp_strcat.o
	$(CXX) $^ -o $@

c_strncat.exe: c_strdruk.o c_strncat.o
	$(CC) $^ -o $@
	
cpp_strncat.exe: cpp_strdruk.o cpp_strncat.o
	$(CXX) $^ -o $@

c_strcmp.exe: c_strdruk.o c_strcmp.o
	$(CC) $^ -o $@
	
cpp_strcmp.exe: cpp_strdruk.o cpp_strcmp.o
	$(CXX) $^ -o $@

c_strncmp.exe: c_strdruk.o c_strncmp.o
	$(CC) $^ -o $@
	
cpp_strncmp.exe: cpp_strdruk.o cpp_strncmp.o
	$(CXX) $^ -o $@

c_strchr.exe: c_strdruk.o c_strchr.o
	$(CC) $^ -o $@
	
cpp_strchr.exe: cpp_strdruk.o cpp_strchr.o
	$(CXX) $^ -o $@

c_strchr_while.exe: c_strdruk.o c_strchr_while.o
	$(CC) $^ -o $@
	
cpp_strchr_while.exe: cpp_strdruk.o cpp_strchr_while.o
	$(CXX) $^ -o $@

c_strrchr.exe: c_strdruk.o c_strrchr.o
	$(CC) $^ -o $@
	
cpp_strrchr.exe: cpp_strdruk.o cpp_strrchr.o
	$(CXX) $^ -o $@

c_strspn.exe: c_strdruk.o c_strspn.o
	$(CC) $^ -o $@
	
cpp_strspn.exe: cpp_strdruk.o cpp_strspn.o
	$(CXX) $^ -o $@

c_strcspn.exe: c_strdruk.o c_strcspn.o
	$(CC) $^ -o $@
	
cpp_strcspn.exe: cpp_strdruk.o cpp_strcspn.o
	$(CXX) $^ -o $@

c_strpbrk.exe: c_strdruk.o c_strpbrk.o
	$(CC) $^ -o $@
	
cpp_strpbrk.exe: cpp_strdruk.o cpp_strpbrk.o
	$(CXX) $^ -o $@

c_strstr.exe: c_strdruk.o c_strstr.o
	$(CC) $^ -o $@
	
cpp_strstr.exe: cpp_strdruk.o cpp_strstr.o
	$(CXX) $^ -o $@

c_strerror.exe: c_strdruk.o c_strerror.o
	$(CC) $^ -o $@
	
cpp_strerror.exe: cpp_strdruk.o cpp_strerror.o
	$(CXX) $^ -o $@

c_strtok.exe:  c_strdruk.o c_strtok.o
	$(CC) $^ -o $@
	
cpp_strtok.exe: cpp_strdruk.o cpp_strtok.o
	$(CXX) $^ -o $@

c_memset.exe:  c_strdruk.o c_memset.o
	$(CC) $^ -o $@
	
cpp_memset.exe: cpp_strdruk.o cpp_memset.o
	$(CXX) $^ -o $@

c_memcmp.exe:  c_memdruk.o c_memcmp.o
	$(CC) $^ -o $@
	
cpp_memcmp.exe: cpp_memdruk.o cpp_memcmp.o
	$(CXX) $^ -o $@

c_memchr.exe:  c_memdruk.o c_memchr.o
	$(CC) $^ -o $@
	
cpp_memchr.exe: cpp_memdruk.o cpp_memchr.o
	$(CXX) $^ -o $@

c_memcpy.exe:  c_memdruk.o c_memcpy.o
	$(CC) $^ -o $@
	
cpp_memcpy.exe: cpp_memdruk.o cpp_memcpy.o
	$(CXX) $^ -o $@



c_%.o: %.c
	$(CC) -c -o $@ $<

cpp_%.o: %.c
	$(CXX) -c -o $@ $<

clean:
	rm -f *.o *.exe

PHONY: clean all allc allcpp